Note:  This guide is somewhat outdated; it does not cover TRUNK88's newer
       SDR features, such as the RF spectrum display windows.  With these
       windows, the PP10M fine tuning instructions can be simplified to
       "Adjust the PP10M value until the signal is centered in the
       spectrum display."

       The common SDR adjustments (RF gain and reference oscillator correction)
       can now be made simply by left or right clicking in the spectrum windows.

       Also noteworthy, is the VC SDR P25 Audio Output Device parameter -
       use it to route raw P25 voice traffic to DSD+ via Virtual Audio Cable
       or VB-Audio Cable.



TRUNK88 SDR Guide
-----------------

  The Win32 version of TRUNK88 can use inexpensive RTL2832U-based DVB-T dongles
  as control channel or voice channel sources.
  Auxiliary programs (like SDR# and Virtual Audio Cable) are not required.

  TRUNK88 uses only about 5% of a slow Atom N450 processor's CPU capacity
  per dongle.  Desktop PCs should see much lower utilization.

  This guide explains how to install the correct device driver and support
  DLLs as well as how to configure and use TRUNK88 with DVB-T dongles.

  This document covers the following topics:

   - installing the correct device driver via the Zadig program

   - duplicate device / serial number issues

   - required support DLLs


   - control channel SDR:

     - command line parameters

     - adjustable settings:

       - SDR device number
       - reference oscillator frequency correction
       - reference oscillator frequency drift tracking
       - RF gain
       - filter width
       - control channel hunt parameters

     - frequency correction / RF gain adjustment hotkeys

     - startup (selecting which system or frequency to monitor)

     - automatic roaming (control channel hunting)

     - manually switching to monitor a different zone or system


   - voice channel SDR:

     - command line parameters

     - adjustable settings:

       - SDR device number
       - reference oscillator frequency correction
       - reference oscillator frequency drift tracking
       - RF gain
       - filter width
       - Motorola End Code detection
       - squelch level
       - output device (where the audio is sent)
       - audio AGC
       - audio volume level

     - frequency correction / RF gain adjustment hotkeys

     - volume control hotkeys


   - recommended settings

   - initial setup / troubleshooting



Zadig
-----

  The Zadig program is used to install the correct driver for DVB-T dongles.


  Note: If the correct driver (WinUSB) has already been installed with Zadig,
  you can skip these driver installation instructions.


  http://home.ica.net/~phoenix/wap/TRUNK88/SDR.zip contains two versions of
  Zadig - one for use with Windows XP, the other for Vista, Windows 7 or
  Windows 8.  Copy the correct Zadig program to your TRUNK88 folder.

  Note: avoid using USB hubs or older USB 1.0 ports with DVB-T dongles.
  Once you have things working properly, you can try using a powered USB hub.


  Plug your DVB-T dongle into a USB port and wait while Windows goes through
  its driver install procedure.  If Windows wants to go online to look for
  drivers, just cancel the dialog.

  While the dongle is still plugged into the USB port, run Zadig and select
  Options / List All Devices.

  In the device list pulldown, look for any
  "Realtek 2832U" or "Bulk-In, Interface" entries.
  For any that are present, select each one in turn.

  Zadig will display "Driver [currentDriver] --> [newDriver]"

  If the current driver is not WinUSB, set the new driver to WinUSB and click
  on Replace Driver.

  Driver installation can take a while if you have System Restore enabled
  on your system partition (C: for most folks) because Windows will create a
  system restore point before installing the driver.


  If you have different models of DVB-T dongles, you need to repeat the above
  process for each different dongle.



Serial Numbers
--------------

  If multiple USB devices with the same vendor ID, product ID and serial number
  are simultaneously plugged into a PC that is running Windows XP, Windows will
  blue screen (crash) with error CA-1.  This means that if you're running XP
  and plug in two identical DVB-T dongles, XP will crash - unless you've
  assigned each device a unique serial number.

  This assignment is done by plugging in a dongle and then running
  rtl_eeprom.exe from a command prompt.  The program should find the dongle
  and display its information.

  The command "rtl_eeprom -s xxxxxxxx" will set the dongle's serial number to
  xxxxxxxx.  Any unique eight character value can be used.

  After changing a dongle's serial number, you should remove it, then plug
  it back in and re-run Zadig to verify that the WinUSB driver is being used
  to access the dongle; if it's not, use Zadig to select and install the
  correct driver.

  You can find rtl_eeprom.exe in http://home.ica.net/~phoenix/wap/TRUNK88/SDR.zip



Required DLLs
-------------

  TRUNK88 uses rtlsdr.dll and libusb-1.0.dll to interface with DVB-T dongles;
  these DLLs must be copied to your TRUNK88 folder.

  Those two DLLs use msvcr100.dll, which is already present on most Windows
  systems; if you see an error message that refers to this DLL, you should
  add a copy of msvcr100.dll to your TRUNK88 folder.

  You can find these DLLs in http://home.ica.net/~phoenix/wap/TRUNK88/SDR.zip



Control Channel SDR
===================

Command Line
------------

  You can tell TRUNK88 to use a DVB-T dongle as a control channel audio
  source either by specifying its use on the command line or by editing the
  relevant settings with the Edit Defaults / Input (control channel) parameters
  dialog.


  Command line:

    TRUNK88 /CCSDR[device#].[PP10Mcorrection].[dBgain]

  The bracketed parameters correspond to the CC SDR Device Number,
  CC SDR PP10M Correction and CC SDR RF Gain parameters, which are outlined
  below.

  Device numbers start at one, so if you have one dongle plugged in,
  to use it with PP10M correction of +200 and 30 dB RF gain, the command line
  would be:

    TRUNK88 /CCSDR1.200.30


  You can switch between control channel input modes via the command line.

  Examples:

    Use sound card / USB sound dongle / VAC:

      TRUNK88 /CCWAVEIN

    Use DVB-T dongle:

      TRUNK88 /CCSDR

  When an input mode is specified on the command line, TRUNK88 updates
  the CC Device Type parameter.



Parameters
----------

  Note: Parameters marked with an asterisk can also be set on a per-system
        level by using the System Menu / Edit Settings / Input... dialog.


  Edit Defaults / Input (control channel) parameters dialog:

  The following parameters control TRUNK88's use of a DVB-T dongle
  as a control channel audio source:


  CC Device Type

    This parameter controls which type of device TRUNK88 will read control
    channel data from.  Valid values for CC Device Type are:

      O:WaveIn device (onboard sound / sound card / sound USB dongle / VAC)
      1:Serial port (scanner CC dump)
      2:SDR (RTL2832U-based dongle with E4OOO/FCOO12/FCOO13/FC285O/R82OT tuner)

    Note: this parameter can be set via the command line when starting TRUNK88,
    which can make it easier to simultaneously monitor multiple systems; use
    "TRUNK88 /HELP" for more details.


  CC SDR Device Number

    You can drive TRUNK88 directly from a RTL2832U-based DVB-T dongle.
    This parameter selects which connected DVB-T device is used.

    Note: When using a DVB-T dongle, you can force TRUNK88 to monitor a
    specific system by including its control file name on the command line
    (TRUNK88 1234.CTL)

    Use the System Menu / Switch Systems dialog to retune the dongle to another
    system, zone or specific RF channel.

    Note: CC SDR Device Number can be set via the command line when starting
    TRUNK88, which can make it easier to simultaneously monitor multiple
    systems; use "TRUNK88 /HELP" for more details.


  CC SDR PP10M Correction

    DVB-T dongles use inexpensive reference oscillators and the correct
    adjustment factor must be specified to compensate for frequency errors.
    Required correction values are usually in the -1000 to +1000 range.

    When a dongle is used to RX CC data, TRUNK88 normally displays
    a center tuning meter on the second line of the User Input area;
    the meter can be used to fine tune the correction value.

    When Scroll Lock is off, the Shift-Alt <-- / --> hotkeys can be used
    to adjust the CC SDR PP10M Correction value.

    Scroll Lock can be used to toggle between the center tuning meter display
    and a crude spectrum display that covers about 250 kHz either side of the
    tuned-to frequency.  Dots, half height blocks and full height blocks are
    used to show relative spectral amplitudes.  Each character covers about
    10 kHz of spectrum.  The spectrum display can be used to correct gross
    PP10M errors by counting how many characters the target signal is offset
    from the center of the spectrum and then consulting this table:

             10 kHz
      Band    Error
      (MHz)  (PP10M)
      -----  -------
       140     715
       162     620
       450     225
       860     115
       935     110

    Note: CC SDR PP10M Correction can be set via the command line when
    starting TRUNK88, which can make it easier to simultaneously monitor
    multiple systems; use "TRUNK88 /HELP" for more details.


  CC SDR Auto Correction

    When CC SDR Auto Correction is enabled, TRUNK88 attempts to compensate for
    a DVB-T dongle's reference oscillator drift.  A correction value is
    displayed to the left of the center tuning meter; units are 100 Hz
    (1=100Hz, 10=1kHz, etc.)

    Note: when PP10M adjustments are made by the user, auto correction is reset
    and briefly disabled to avoid interfering with manual PP10M adjustments.


* CC SDR RF Gain

    This parameter controls how much RF gain the DVB-T device employs.  The
    gain level selected should take into account the strength of the target
    signal as well as the local noise floor.  Note: a gain level of zero
    selects the dongle's automatic RF gain control mode (RF AGC), but this mode
    is not recommended.  The current gain level is displayed to the left of the
    center tuning meter.

    When Scroll Lock is on, the Shift-Alt <-- / --> hotkeys can be used
    to adjust the CC SDR RF Gain value.

    Note: this parameter can be set via the command line when starting TRUNK88,
    which can make it easier to simultaneously monitor multiple systems; use
    "TRUNK88 /HELP" for more details.


  CC SDR Narrow Filter

    Narrow filtering eliminates adjacent channel interference and enhances
    oscillator drift correction, but increases CPU usage.  Enabling narrow
    filtering is recommended.


* CC SDR Tuning Rate

    This parameter controls how long TRUNK88 monitors an RF channel during a
    control channel hunt before tuning to the next channel.  Lower values can
    speed up searches, but weak channels are less likely to be detected.
    Units are 1/1O sec.


* CC SDR Local Scan Watchdog

    This parameter controls how long control channel decoding has to fail
    before TRUNK88 automatically initiates a "local" control channel hunt.
    A local hunt scans the known control channels (PCC and ACCs) for the
    currently monitored site.

    Units are 1/1O sec.  A value of zero disables automatic initiation of
    local control channel hunts.


* CC SDR Neighbour Scan Watchdog

    This parameter controls how long control channel decoding has to fail
    before TRUNK88 automatically initiates a neighbour zone control channel
    hunt.  A neighbour zone hunt scans the PCC frequencies of the current
    zone's neighbours.

    Neighbour zone control channel hunts are only triggered on
    networked systems (multi-zone SmartZone systems)

    Units are 1/1O sec.  A value of zero disables automatic initiation
    of neighbour control channel hunts.


* CC SDR Full Scan Watchdog

    This parameter controls how long control channel decoding has to fail
    before TRUNK88 automatically initiates a full control channel hunt.

    On non-SmartZone systems, a full control channel hunt scans all known
    system frequencies.

    On SmartZone systems, a full control channel hunt scans all known system
    control channels (PCCs and ACCs)

    Units are 1/1O sec.  A value of zero disables automatic initiation
    of full control channel hunts.



  Additionally, these parameters control the sounds that TRUNK88 generates
  when automated control channel hunts start or end.  They alert the user
  to the fact that reception of the current control channel was lost.


  CC Hunt Start Alert

    These parameters control the alert tone that TRUNK88 generates when an
    automated control channel hunt is initiated.

    Frequency units are Hz; Period units are milliseconds; Typical range for
    Volume is 1 to 100.  Set Volume to zero to disable this alert.

    If a PCM .wav file named "CC Hunt Start Alert.wav" is present in the
    TRUNK88 folder, TRUNK88 will play that file whenever an automated control
    channel hunt is initiated.

    You can press Ctrl-V (vocalize) while editing an alert's parameters
    to test the alert.


  CC Hunt End Alert

    When an automated control channel hunt terminates, TRUNK88 generates the
    tone defined by the CC Hunt start Alert parameters and then the tone
    defined by the CC Hunt End Alert parameters.  Typically, parameters are
    chosen to make TRUNK88 generate a low-high two-tone alert when a control
    channel hunt ends.

    Frequency units are Hz; Period units are milliseconds; Typical range for
    Volume is 1 to 100.  Set Volume to zero to disable this alert.

    If a PCM .wav file named "CC Hunt End Alert.wav" is present in the
    TRUNK88 folder, TRUNK88 will play that file whenever an automated
    control channel hunt ends.

    You can press Ctrl-V (vocalize) while editing an alert's parameters
    to test the alert.



Hotkeys
-------

  Scroll Lock off:

    Shift-Alt <--:  decrease CC PP10M value
    Shift-Alt -->:  increase CC PP10M value

  Scroll Lock on:

    Shift-Alt <--:  decrease CC RF gain
    Shift-Alt -->:  increase CC RF gain



Startup
-------

  Normally, TRUNK88 takes its cues from whatever control channel stream
  the user has tuned to.  With a DVB-T dongle as a control channel
  audio source, the user has to tell TRUNK88 what system, zone or RF channel
  should be monitored.

  To this end, if you start TRUNK88 with no system information on the command
  line and CC Device Type is 2 (SDR), TRUNK88 will ask you to select either a
  system .CTL file to load or an RF channel to tune the dongle to.

  If you specify an RF channel, TRUNK88 will tune the dongle and decode the
  audio stream.  If a System ID is seen, TRUNK88 will load the system's
  .CTL file and monitoring proceeds as normal.

  If instead, you select a system file, TRUNK88 will load the file,
  then look for an active control channel.

  For non-SmartZone systems, TRUNK88 will tune the dongle to the system's
  known control channels.  If an OSW stream is detected, TRUNK88 will
  end the control channel hunt.

  For SmartZone systems, TRUNK88 will check if the system's .CTL file indicates
  which site/zone was monitored last.  If this information is found, TRUNK88
  tunes to that zone's control channels (PCC and ACCs).  If an OSW stream is
  detected, TRUNK88 will end the control channel hunt.


  If these "local" control channel hunts do not find an active control channel,
  TRUNK88 will normally expand its search.

  For non-SmartZone systems, TRUNK88 will normally switch to a full control
  channel hunt, which tunes to every known system frequency.  This behaviour
  is required on systems where all of the control channels have not yet been
  identified.

  For SmartZone systems, if the last monitored zone is known, TRUNK88 will
  normally switch to a neighbour zone hunt, which tunes to the neighbour zones'
  PCC frequencies.  If the last monitored zone is not known, or if the neighbour
  hunt fails to find an active control channel, TRUNK88 normally switches to
  a full control channel hunt, which tunes to all known system control channels
  (PCCs and ACCs)


  If you specify a system control file on the command line, like this...

    TRUNK88 1234.CTL

  ...TRUNK88 will load the system file and initiate the hunt behaviors
  described above.



Control Channel Hunts
---------------------

  Automatic initiation and escalation of control channel hunts is controlled
  by the CC SDR Local Scan Watchdog, CC SDR Neighbour Scan Watchdog and
  CC SDR Full Scan Watchdog parameters.

  Default values, that normally affect all systems, can be edited with the
  Edit Defaults / Input (control channel) parameters dialog.

  System-specific overrides can be set via the
  System Menu / Edit settings / Input (control channel) parameters dialog.


  The watchdog values specify how much time has to elapse with no OSWs
  being decoded before TRUNK88 will initiate a given search.  Watchdog values
  should be selected so that control channel hunts escalate to the next
  level after the previous level has had enough time to do its thing.

  For example, for a SmartZone system, start a local hunt after 5 seconds
  of no decoding, a neighbour hunt after 15 seconds (gives local hunt 10 seconds
  to reacquire the control channel), and a full hunt after 25 seconds (gives
  neighbour hunt 10 seconds to find a CC)

  The values should be selected based on your specific monitoring situation;
  for example, if a strong interfering signal periodically wipes out the local
  CC signal, you may want to use larger watchdog values.


  If you don't want TRUNK88 leaving the current site/zone, you should set
  CC SDR Neighbour Scan Watchdog and CC SDR Full Scan Watchdog to zero (disabled).

  If you set all three watchdogs to zero, TRUNK88 will always stay on the
  current RF channel, no matter how long the CC signal is lost.  When a
  system control file is loaded, TRUNK88 will always initiate a CC hunt
  (usually a local hunt), but will not escalate to other hunts if they are
  disabled (their watchdog values are zero).



Changing Systems or Zones
-------------------------

  When a DVB-T dongle is used as a control channel source,
  TRUNK88's System Menu / Switch Systems dialog lets you select:

    - a new system control file (change system)

    - a specific zone (change current system's zone - SmartZone systems only)

    - a zone hunt (scan all system CCs except current zone's - SmartZone only)

    - an RF channel (tune to specific frequency - useful for new systems)



Voice Channel SDR
=================

Command Line
------------

  You can tell TRUNK88 to use a DVB-T dongle as a voice channel audio
  source either by specifying its use on the command line or by editing the
  relevant settings with the Edit Defaults / Voice receiver controls parameters
  dialog.


  Command line:

    TRUNK88 /VCSDR[device#].[PP10Mcorrection].[dBgain].[WaveOutDev#]

  The bracketed parameters correspond to the VC SDR Device Number,
  VC SDR PP10M Correction, VC SDR RF Gain and VC SDR Audio Output Device Number
  parameters, which are outlined below.

  Device numbers start at one, so if you have one dongle plugged in,
  to use it with PP10M correction of +200, 40 dB RF gain with output sent to
  the first WaveOut device, the command line would be:

    TRUNK88 /VCSDR1.200.40.1



Parameters
----------

  Note: Parameters marked with an asterisk can also be set on a per-system
        level by using the System Menu / Edit Settings / Voice... dialog.


  Edit Defaults / Voice receiver controls parameters dialog:

  The following parameters control TRUNK88's use of a DVB-T dongle
  as a voice channel audio source:


  Voice Receiver Model

    This parameter must be set to 2832 when using a DVB-T dongle as a voice
    receiver.


  VC SDR Device Number

    TRUNK88 can use a RTL2832U-based DVB-T dongle as a voice receiver.
    This parameter selects which connected DVB-T device is used.

    Note: VC SDR Device Number can be set via the command line when starting
    TRUNK88, which can make it easier to simultaneously monitor multiple
    systems; use "TRUNK88 /HELP" for more details.


  VC SDR PP10M Correction

    DVB-T dongles use inexpensive reference oscillators and the correct
    adjustment factor must be specified to compensate for frequency errors.
    Required correction values are usually in the -1000 to +1000 range.

    When a dongle is used to RX VC traffic, TRUNK88 normally displays
    a center tuning meter on the second or third line of the User Input area;
    the meter can be used to fine tune the correction value.

    When Scroll Lock is off, the Alt <-- / --> hotkeys can be used
    to adjust the VC SDR PP10M Correction value.

    Scroll Lock can be used to toggle between the center tuning meter display
    and a crude spectrum display that covers about 250 kHz either side of the
    tuned-to frequency.  Dots, half height blocks and full height blocks are
    used to show relative spectral amplitudes.  Each character covers about
    10 kHz of spectrum.  The spectrum display can be used to correct gross
    PP10M errors by counting how many characters the target signal is offset
    from the center of the spectrum and then consulting this table:

             10 kHz
      Band    Error
      (MHz)  (PP10M)
      -----  -------
       140     715
       162     620
       450     225
       860     115
       935     110

    Note: VC SDR PP10M Correction can be set via the command line when
    starting TRUNK88, which can make it easier to simultaneously monitor
    multiple systems; use "TRUNK88 /HELP" for more details.


  VC SDR Auto Correction

    When VC SDR Auto Correction is enabled, TRUNK88 attempts to compensate for
    a DVB-T dongle's reference oscillator drift.  A correction value is
    displayed to the left of the center tuning meter; units are 100 Hz
    (1=100Hz, 10=1kHz, etc.)

    Note: when PP10M adjustments are made by the user, auto correction is reset
    and briefly disabled to avoid interfering with manual PP10M adjustments.


* VC SDR RF Gain

    This parameter controls how much RF gain the DVB-T device employs.
    The gain level selected should take into account the strength of the target
    signal as well as the local noise floor.  Note: a gain level of zero
    selects the dongle's automatic RF gain control mode (RF AGC), but this mode
    is not recommended.  The current gain level is displayed to the left of the
    center tuning meter.

    When Scroll Lock is on, the Alt <-- / --> hotkeys can be used
    to adjust the CC SDR RF Gain value.

    Note: this parameter can be set via the command line when starting TRUNK88,
    which can make it easier to simultaneously monitor multiple systems; use
    "TRUNK88 /HELP" for more details.


  VC SDR Narrow Filter

    Narrow filtering eliminates adjacent channel interference and enhances
    oscillator drift correction, end code detection and squelch triggering,
    but increases CPU usage.  Enabling narrow filtering is recommended.


  VC SDR End Code Detect

    End code detection mutes squelch tails on trunked system analog traffic.


* VC SDR Squelch Level

    Squelch logic mutes audio when signals end or fall below a set threshold.
    Valid values for VC SDR Squelch Level range from 0 (loose/disabled)
    to 100 (very tight).  20 is suitable for most situations.
    Disable end code detection while experimenting with squelch settings.


  VC SDR Audio Output Device Number

    This parameter determines which audio device TRUNK88 sends DVB-T voice
    audio to.  You would typically set Audio Output Device Number to 1 (first
    sound card/device).


* VC SDR Alternate Noise Filter

    This option enables an alternate noise filter that removes more high
    frequency content from the demodulated audio.  It may improve
    intelligibility of weak signals.


* VC SDR LSD Filter

    This filter eliminates the rumbling low speed data that is present
    on trunking system voice channels.  Use it if you can hear the LSD sound
    through your speakers.


* VC SDR Audio AGC

    Audio AGC evens out audio levels, so quieter users sound louder
    and loud users sound quieter.  When audio AGC is enabled, the current
    AGC boost level is displayed to the right of the User Input Area.


* VC SDR Max AGC Boost

    When audio AGC is enabled, audio gain levels will rise during quiet periods.
    During long pauses in speech, gain can increase to the point where
    background static becomes objectionally loud. VC SDR Max AGC Boost can be
    used to set a maximum gain level.

    Set VC SDR Max AGC Boost to zero to disable limiting.


* VC SDR Volume Level

    This parameter sets the initial volume level for DVB-T voice audio.

    Note: the volume level can be adjusted with the Alt ^/v hotkeys.



Hotkeys
-------

  Alt ^/v (cursor up/down):  adjust VC audio volume level


  Scroll Lock off:

    Alt <--:  decrease VC PP10M value
    Alt -->:  increase VC PP10M value

  Scroll Lock on:

    Alt <--:  decrease VC RF gain
    Alt -->:  increase VC RF gain



Recommended Settings
--------------------

  CC/VC SDR PP10M Correction    in the ballpark (within +/- 5-10 kHz)

  CC/VC SDR Auto Correction     enabled

  CC/VC SDR RF Gain             varies with RF environment

  CC/VC SDR Narrow Filter       enabled

  VC SDR End Code Detect        enabled

  VC SDR Squelch Level          ~20

  VC SDR Audio AGC              enabled

  VC SDR Max AGC Boost          5-10



Initial Setup / Troubleshooting
-------------------------------

 Keep things simple

  - initially, plug in only one dongle at a time

  - avoid USB hubs


 Assume nothing / verify everything

  - for CC monitoring, CC Device Type has to be set to 2 SDR)
    and CC SDR Device Number has to be set correctly (typically 1 or 2)

  - for voice following, Voice Receiver Model has to be set to 2832
    and VC SDR Device Number has to be set correctly (typically 1 or 2)

  - if you're having problems, you should verify proper
    dongle operation / signal reception with a program like SDR#

  - for voice traffic following, verify that TRUNK88's on screen
    voice frequencies are correct and match the RR database

    - if the voice frequencies are not correct, the bandplan is incorrect;
      correct the bandplan data and reapply it
      (System Menu / Apply Current Bandplan)


 Determine PP10M correction value:

  Initially set up a dongle by using it as CC data source
  (constant carriers are easier to work with)

   - tune to the best (strongest/clearest) local control channel

     - after you've told TRUNK88 to use a dongle for CC reception,
       you can use the System Menu / Switch Systems dialog to tune
       the dongle

   - let the dongle's reference oscillator stabilize by monitoring for a
     few minutes; some dongles will drift by 10 or 20 kHz as they warm up

   - initially, crank up the RF gain (CC SDR RF Gain = 50)

   - disable frequency drift correction (CC SDR Auto Correction = 0)

   - use the Shift-F9 hotkey (CC Monitor) to hear the demodulated CC signal

   - you can adjust the CC volume level with the
     Edit Defaults / Sound generation / Control Channel Monitor Volume setting
     (or just use the Windows sound mixer)

   - switch from the tuning bar display to the spectrum display
     by toggling Scroll Lock

   - the control channel signal should appear as a steady (unchanging)
     full size block character; its distance (in characters) from the center
     of the spectrum display can be used to calculate a coarse PP10M adjustment
     by consulting the following table:

             10 kHz
      Band    Error
      (MHz)  (PP10M)
      -----  -------
       140     715
       162     620
       450     225
       860     115
       935     110

   - each character in the spectrum display covers about 10 kHz,
     so if, for example, you're tuning to an 800 MHz control channel
     and the signal shows up 6 characters to the left of the spectrum display's
     center, you're tuning about 60 kHz too high and the PP10M value needs to
     be raised by about 6x115, so bump it up by 700

   - once the CC signal is centered in the spectrum display,
     you're within 10 kHz of where you need to be and the tuning bar
     plus the Alt-Left/Right keys can be used to dial in the CC PP10M value

   - note: low frequency signals (like VHF control channels or
     NOAA weather channels) should not be used to determine PP10M values,
     as large PP10M errors (400 to 800 PP10M) will appear on the
     spectrum display as properly centered or off by only one character;
     you can't use that to calculate accurate coarse adjustments

   - you can use any steady carrier in the 800 or 900 MHz bands;
     it can be a control channel (Motorola, EDACS, P25), a telemetry channel,
     whatever...



 Using multiple dongles:

   - if you plan to use multiple dongles (to monitor multiple systems
     or to monitor control and voice channels), it's probably easiest
     to plug in one dongle at a time and determine the correct PP10M
     value to use with it by tuning to a strong local carrier

   - it wouldn't be a bad idea to affix a label to each dongle,
     listing its correct PP10M value

   - it would also be a good idea to use the rtl_eeprom program to
     change the dongles' serial numbers to reflect their PP10M values;
     TRUNK88 displays dongle serial numbers when the devices are initialized
     as well as when the Ctrl-D (stats display) hotkey is pressed;
     those displays let you verify which dongle is being used for
     which monitoring task

     note that if you change a dongle's serial number,
     you'll have to remove it, reinsert it and run Zadig
     to associate the correct USB driver with your re-serialled dongle



 After you've determined the proper correction values for your dongles:

   - re-enable frequency drift correction (CC/VC Auto Correction = 1)

   - with Scroll Lock on, you can use the (Shift) Alt left/right hotkeys
     to adjust the CC and VC RF gain levels on the fly

   - determine the optimal RF gain for any systems you plan to monitor;
     in general, use the lowest RF gain level that produces clear,
     static-free audio and a low CC noise level display (the "NL:xx" display)

   - insufficient gain will cause noisy, static filled demodulation;
     excessive gain will introduce amplifier noise and possibly clipping

   - the "NL:xx" control channel noise level display shows how much
     high frequency noise is present in the demodulated control channel audio;
     RF gain values that minimize the noise level are usually the best choice

   - on some weak control channel signals, you may have to use the current
     decoding accuracy, rather than the noise level, to select the best RF gain

   - if you're using the same dongle model and antennas for control channel
     reception and voice following, the RF gain used for voice following
     can usually be set the same as the CC RF gain, but with some signals
     (usually weak ones), your ear may prefer a different RF gain setting


--
